🎖️GitЯра🎖️
Node / meshtastic / Meshtastic-Android / files / build-logic / convention / src / main / kotlin / com / google / android / libraries / mapsplatform / secrets_gradle_plugin / SecretsPlugin.kt
Displaying Raw • Download
build-logic/convention/src/main/kotlin/com/google/android/libraries/mapsplatform/secrets_gradle_plugin/SecretsPlugin.kt bd2863243bab6eb213401d949839a2bc74dde7e2 (bd286324) Text, 3.96 KB
T8b949e// Copyright 2021 Google LLC
T8b949e//
T8b949e// Licensed under the Apache License, Version 2.0 (the "License");
T8b949e// you may not use this file except in compliance with the License.
T8b949e// You may obtain a copy of the License at
T8b949e//
T8b949e// http://www.apache.org/licenses/LICENSE-2.0
T8b949e//
T8b949e// Unless required by applicable law or agreed to in writing, software
T8b949e// distributed under the License is distributed on an "AS IS" BASIS,
T8b949e// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
T8b949e// See the License for the specific language governing permissions and
T8b949e// limitations under the License.
T8b949e//
T8b949e// Vendored from google/secrets-gradle-plugin v2.0.1 (Apache-2.0). The published plugin reads
T8b949e// properties through project.rootProject.file(), which Isolated Projects forbids and Gradle 9.7+
T8b949e// fails the build over; upstream is dormant and the one-line fix (#104) has shipped in no release.
T8b949e// Modifications Copyright 2026 Meshtastic LLC: property files load via isolated.rootProject (see
T8b949e// Extensions.kt). Delete this vendored copy if upstream ever releases > 2.0.1 with that fix.
Tf0883e@fileTb4b4b4:Te6edf3SuppressTb4b4b4(Ta5d6ff"Ta5d6ffUnstableApiUsageTa5d6ff"Tb4b4b4)
Tff7b72package T7ee787com.google.android.libraries.mapsplatform.secrets_gradle_plugin
Tff7b72import T7ee787com.android.build.api.variant.Variant
Tff7b72import T7ee787org.gradle.api.Plugin
Tff7b72import T7ee787org.gradle.api.Project
Tff7b72import T7ee787java.io.FileNotFoundException
Tff7b72import T7ee787java.util.Properties
T8b949e/**
* Plugin that reads secrets from a properties file and injects manifest build and BuildConfig
* variables into an Android project. Since property keys are turned into Java variables,
* invalid variable characters from the property key are removed.
*
* e.g.
* A key defined as "sdk.dir" in the properties file will be converted to "sdkdir".
*/
Tff7b72class T56d364SecretsPlugin Tb4b4b4: Te6edf3PluginTff7b72<Te6edf3ProjectTff7b72> Tb4b4b4{
Tff7b72private Tff7b72val Te6edf3extensionName Tff7b72= Ta5d6ff"Ta5d6ffsecretsTa5d6ff"
Tff7b72override Tff7b72fun Td2a8ffapplyTb4b4b4(Te6edf3projectTb4b4b4: Te6edf3ProjectTb4b4b4) Tb4b4b4{
Tff7b72val Te6edf3extension Tff7b72= Te6edf3projectTb4b4b4.Te6edf3extensionsTb4b4b4.Te6edf3createTb4b4b4(
Te6edf3extensionNameTb4b4b4,
Te6edf3SecretsPluginExtensionTff7b72::Te6edf3classTb4b4b4.Te6edf3java
Tb4b4b4)
Tff7b72val Te6edf3supportedComponents Tff7b72=
Te6edf3listOfTb4b4b4(Te6edf3projectTb4b4b4.Te6edf3androidAppComponentTb4b4b4(Tb4b4b4)Tb4b4b4, Te6edf3projectTb4b4b4.Te6edf3androidLibraryComponentTb4b4b4(Tb4b4b4)Tb4b4b4)
Te6edf3supportedComponentsTb4b4b4.Te6edf3forEach Tb4b4b4{ Te6edf3component Tff7b72-Tff7b72>
Te6edf3componentTff7b72?.Te6edf3onVariants Tb4b4b4{ Te6edf3variant Tff7b72-Tff7b72>
Tff7b72val Te6edf3defaultProperties Tff7b72= Te6edf3extensionTb4b4b4.Te6edf3defaultPropertiesFileNameTff7b72?.Te6edf3let Tb4b4b4{
Te6edf3projectTb4b4b4.Te6edf3loadPropertiesFileTb4b4b4(Tffa657itTb4b4b4)
Tb4b4b4}
Tff7b72val Te6edf3propertiesTb4b4b4: Te6edf3Properties? Tff7b72= Tff7b72try Tb4b4b4{
Te6edf3projectTb4b4b4.Te6edf3loadPropertiesFileTb4b4b4(
Te6edf3extensionTb4b4b4.Te6edf3propertiesFileName
Tb4b4b4)
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4: Te6edf3FileNotFoundExceptionTb4b4b4) Tb4b4b4{
Te6edf3defaultProperties Tff7b72?: Tff7b72throw Te6edf3e
Tb4b4b4}
Te6edf3generateConfigKeyTb4b4b4(Te6edf3projectTb4b4b4, Te6edf3extensionTb4b4b4, Te6edf3defaultPropertiesTb4b4b4, Te6edf3propertiesTb4b4b4, Te6edf3variantTb4b4b4)
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}
Tff7b72private Tff7b72fun Td2a8ffgenerateConfigKeyTb4b4b4(
Te6edf3projectTb4b4b4: Te6edf3ProjectTb4b4b4,
Te6edf3extensionTb4b4b4: Te6edf3SecretsPluginExtensionTb4b4b4,
Te6edf3defaultPropertiesTb4b4b4: Te6edf3Properties?Tb4b4b4,
Te6edf3propertiesTb4b4b4: Te6edf3Properties?Tb4b4b4,
Te6edf3variantTb4b4b4: Te6edf3Variant
Tb4b4b4) Tb4b4b4{
T8b949e// Inject defaults first
Te6edf3defaultPropertiesTff7b72?.Te6edf3let Tb4b4b4{
Te6edf3variantTb4b4b4.Te6edf3injectTb4b4b4(Tffa657itTb4b4b4, Te6edf3extensionTb4b4b4.Te6edf3ignoreListTb4b4b4)
Tb4b4b4}
Te6edf3propertiesTff7b72?.Te6edf3let Tb4b4b4{
Te6edf3variantTb4b4b4.Te6edf3injectTb4b4b4(Te6edf3propertiesTb4b4b4, Te6edf3extensionTb4b4b4.Te6edf3ignoreListTb4b4b4)
Tb4b4b4}
T8b949e// Inject build-type specific properties
Tff7b72val Te6edf3buildTypeFileName Tff7b72= Ta5d6ff"Tffd700${Te6edf3variantTb4b4b4.Te6edf3buildTypeTffd700}Ta5d6ff.propertiesTa5d6ff"
Tff7b72val Te6edf3buildTypeProperties Tff7b72= Tff7b72try Tb4b4b4{
Te6edf3projectTb4b4b4.Te6edf3loadPropertiesFileTb4b4b4(Te6edf3buildTypeFileNameTb4b4b4)
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4: Te6edf3FileNotFoundExceptionTb4b4b4) Tb4b4b4{
Tff7b72null
Tb4b4b4}
Te6edf3buildTypePropertiesTff7b72?.Te6edf3let Tb4b4b4{
Te6edf3variantTb4b4b4.Te6edf3injectTb4b4b4(Tffa657itTb4b4b4, Te6edf3extensionTb4b4b4.Te6edf3ignoreListTb4b4b4)
Tb4b4b4}
T8b949e// Inject flavor-specific properties
Tff7b72val Te6edf3flavorFileName Tff7b72= Ta5d6ff"Tffd700${Te6edf3variantTb4b4b4.Te6edf3flavorNameTffd700}Ta5d6ff.propertiesTa5d6ff"
Tff7b72val Te6edf3flavorProperties Tff7b72= Tff7b72try Tb4b4b4{
Te6edf3projectTb4b4b4.Te6edf3loadPropertiesFileTb4b4b4(Te6edf3flavorFileNameTb4b4b4)
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4: Te6edf3FileNotFoundExceptionTb4b4b4) Tb4b4b4{
Tff7b72null
Tb4b4b4}
Te6edf3flavorPropertiesTff7b72?.Te6edf3let Tb4b4b4{
Te6edf3variantTb4b4b4.Te6edf3injectTb4b4b4(Tffa657itTb4b4b4, Te6edf3extensionTb4b4b4.Te6edf3ignoreListTb4b4b4)
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}
Served by rngit 1.5.1 - Generated in 0.05s